/**
 * 包含子组件的容器型 x组件 的混入
 */
export default {
  computed: {
    /**
     * 布局类型
     */
    // xlayout() {
    //   return this.getXMeta('xlayout')
    // },

    /**
     * 子组件列表
     */
    // xcomponents() {
    //   if(this.xmetapath) return {}
    //   let components = this.getXMeta('xcomponents')
    //   if(components === true){
    //     let xfields = this.xfields
    //     return Array.from({length: xfields.length}, (v,i)=>i)
    //   }else{
    //     return components
    //   }
    // },
    // /**
    //  * 子组件列表 - 指定路径下的或者指定元数据下的
    //  */
    //  xcomponentsWithPathAndMeta() {
    //   return (xcomponentsPath='xcomponents', meta)=>{
    //     let components = meta?this.getXMeta(xcomponentsPath, {}, {xbase: meta}):this.getXMeta(xcomponentsPath)
    //     if(components === true){
    //       let xfields = this.xfields
    //       return Array.from({length: xfields.length}, (v,i)=>i)
    //     }else{
    //       return components
    //     }
    //   }
    // },


    // /**
    //  * 子组件元数据对象
    //  */
    // xcomponentsItem() {
    //   return (index, xcomponentsPath='xcomponents')=>this.getXMeta(xcomponentsPath+'.'+index)
    // },
    // /**
    //  * 子组件元数据路径
    //  */
    xcomponentsItemPath() {
      return (index, xcomponentsPath='xcomponents')=>this.xmetapath+'.'+xcomponentsPath+'.'+index
    },
    // /**
    //  * 子组件指定字段的元数据
    //  */
    // xcomponentsItemMeta() {
    //   return (index, xpath, defaultValue, xcomponentsPath='xcomponents')=>this.getXMeta(xcomponentsPath+'.'+index+'.'+xpath, defaultValue)
    // },

    // /**
    //  * 数据型子组件元数据路径
    //  */
    //  xcomponentMetaPath() {
    //   return this.xmetapath + '.xcomponent'
    // },
    // /**
    //  * 数据型子组件数据路径
    //  */
    // xcomponentItemDataDataPath() {
    //   return index=>this.xdatapath+'.'+index
    // },
    
    // /**
    //  * 页面级字段列表
    //  */
    // xfields() {
    //   return this.getXMeta('xfields', undefined, {xbase: ''})
    // },
    // /**
    //  * 页面级子元素元数据路径
    //  */
    // xfieldsItemPath() {
    //   return p=>'.xfields.'+p
    // },
    // xfieldPath() {
    //   return p=>'.xfields.'+p
    // },
  }
}